Phase 1 Health Checks¶
Run these commands to verify the full stack is healthy. Use after maintenance, power outages, or when something feels off.
Last updated: 2026-04-10
Quick Check (~30 seconds)¶
From Proxmox host shell:
# 1. Both LXCs running?
pct list
# Expected:
# VMID Status Name
# 101 running edge-gateway
# 102 running n8n-app
# 2. edge-gateway services healthy?
pct exec 101 -- docker compose -f /opt/edge-gateway/docker-compose.yml ps --format "table {{.Name}}\t{{.Status}}"
# Expected:
# NAME STATUS
# npm Up X hours
# cloudflared Up X hours
# 3. n8n-app service healthy?
pct exec 102 -- docker compose -f /opt/n8n/docker-compose.yml ps --format "table {{.Name}}\t{{.Status}}"
# Expected:
# NAME STATUS
# n8n Up X hours
# 4. Tunnel healthy? (quick DNS check)
pct exec 101 -- dig n8n.exzentcg.com @1.1.1.1 +short
# Expected: CNAME → tunnel UUID → Cloudflare IPs
Full Check (~2 minutes)¶
From edge-gateway (CT 101)¶
pct enter 101
cd /opt/edge-gateway
# Docker services
docker compose ps
# Tunnel connections (should show 4 registered)
docker compose logs --tail 20 cloudflared | grep "Registered tunnel"
# Can reach n8n?
curl -s --connect-timeout 5 http://192.168.0.52:5678 -o /dev/null -w "HTTP %{http_code}\n"
# Expected: HTTP 200 or 302
# DNS works?
dig google.com +short +time=3
# Expected: IP addresses
# LAN blocked?
curl -s --connect-timeout 3 http://192.168.0.16 -o /dev/null -w "HTTP %{http_code}\n"
# Expected: HTTP 000 (timeout = correctly blocked)
From n8n-app (CT 102)¶
pct enter 102
cd /opt/n8n
# Docker services
docker compose ps
# n8n logs (check for errors)
docker compose logs --tail 20 n8n
# External HTTPS works?
curl -s --connect-timeout 5 https://api.github.com -o /dev/null -w "HTTP %{http_code}\n"
# Expected: HTTP 200
# LAN blocked?
curl -s --connect-timeout 3 http://192.168.0.16 -o /dev/null -w "HTTP %{http_code}\n"
# Expected: HTTP 000
From your desktop browser¶
- Visit
https://n8n.exzentcg.com - Cloudflare Access login page should appear
- Log in with Google or one-time PIN
- n8n editor should load
External Monitoring (optional)¶
Check from outside your network:
- https://www.whatsmydns.net/ → query
n8n.exzentcg.comCNAME → should resolve globally - Cloudflare dashboard → Zero Trust → Tunnels →
exzentcg-homelab→ Status: HEALTHY
What to Check After Specific Events¶
| Event | Check |
|---|---|
| Power outage / host reboot | Quick Check (all 4 steps) |
| n8n update | Full Check on CT 102 + browser test |
| NPM update | Full Check on CT 101 + browser test |
| Firewall rule change | LAN blocked tests on both CTs |
| Cloudflare DNS change | DNS resolution + browser test |
| Router reboot | DNS tests on both CTs |